home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / lisp / kcl / akcl / kcl.lha / lsp / assert.c < prev    next >
C/C++ Source or Header  |  1987-06-04  |  16KB  |  714 lines

  1.  
  2. /* (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. */
  3. #include <cmpinclude.h>
  4. #include "assert.h"
  5. init_assert(start,size,data)char *start;int size;object data;
  6. {    register object *base=vs_top;register object *sup=base+VM2;vs_top=sup;vs_check;
  7.     Cstart=start;Csize=size;Cdata=data;set_VV(VV,VM1,data);
  8.     base[0]= VV[0];
  9.     (void)simple_symlispcall_no_event(VV[57],base+0,1);
  10.     MM(VV[58],L2,start,size,data);
  11.     MM(VV[59],L3,start,size,data);
  12.     MF(VV[60],L4,start,size,data);
  13.     MM(VV[61],L5,start,size,data);
  14.     MM(VV[62],L6,start,size,data);
  15.     MM(VV[63],L7,start,size,data);
  16.     MM(VV[64],L8,start,size,data);
  17.     MM(VV[65],L9,start,size,data);
  18.     MF(VV[36],L10,start,size,data);
  19.     MF(VV[66],L11,start,size,data);
  20.     MF(VV[67],L12,start,size,data);
  21.     vs_top=vs_base=base;
  22. }
  23. /*    macro definition for CHECK-TYPE    */
  24.  
  25. static L2()
  26. {    register object *base=vs_base;
  27.     register object *sup=base+VM3;
  28.     vs_reserve(VM3);
  29.     check_arg(2);
  30.     vs_top=sup;
  31.     {object V1=base[0]->c.c_cdr;
  32.     if(endp(V1))invalid_macro_call();
  33.     base[2]= (V1->c.c_car);
  34.     V1=V1->c.c_cdr;
  35.     if(endp(V1))invalid_macro_call();
  36.     base[3]= (V1->c.c_car);
  37.     V1=V1->c.c_cdr;
  38.     if(endp(V1)){
  39.     base[4]= Cnil;
  40.     base[5]= Cnil;
  41.     } else {
  42.     base[4]= (V1->c.c_car);
  43.     base[5]= Ct;
  44.     V1=V1->c.c_cdr;}
  45.     if(!endp(V1))invalid_macro_call();}
  46.     base[6]= list(2,VV[4],base[3]);
  47.     base[7]= list(3,VV[3],base[2],base[6]);
  48.     base[8]= list(2,base[7],Cnil);
  49.     base[9]= list(2,VV[4],base[2]);
  50.     if((base[5])==Cnil){
  51.     goto T6;}
  52.     base[10]= base[4];
  53.     goto T4;
  54. T6:;
  55.     base[10]= list(2,VV[4],base[3]);
  56. T4:;
  57.     base[11]= list(6,VV[5],VV[6],VV[7],base[9],base[2],base[10]);
  58.     base[13]= base[2];
  59.     vs_top=(vs_base=base+13)+1;
  60.     L4();
  61.     vs_top=sup;
  62.     base[12]= vs_base[0];
  63.     base[13]= list(6,VV[1],VV[2],base[8],base[11],base[12],VV[8]);
  64.     vs_top=(vs_base=base+13)+1;
  65.     return;
  66. }
  67. /*    macro definition for ASSERT    */
  68.  
  69. static L3()
  70. {    register object *base=vs_base;
  71.     register object *sup=base+VM4;
  72.     vs_reserve(VM4);
  73.     check_arg(2);
  74.     vs_top=sup;
  75.     {object V2=base[0]->c.c_cdr;
  76.     if(endp(V2))invalid_macro_call();
  77.     base[2]= (V2->c.c_car);
  78.     V2=V2->c.c_cdr;
  79.     if(endp(V2)){
  80.     base[3]= Cnil;
  81.     } else {
  82.     base[3]= (V2->c.c_car);
  83.     V2=V2->c.c_cdr;}
  84.     if(endp(V2)){
  85.     base[4]= Cnil;
  86.     } else {
  87.     base[4]= (V2->c.c_car);
  88.     V2=V2->c.c_cdr;}
  89.     base[5]= V2;}
  90.     base[6]= list(2,base[2],Cnil);
  91.     if((base[4])==Cnil){
  92.     goto T14;}
  93.     base[7]= listA(4,VV[5],VV[10],base[4],base[5]);
  94.     goto T12;
  95. T14:;
  96.     base[8]= list(2,VV[4],base[2]);
  97.     base[7]= list(4,VV[5],VV[11],VV[12],base[8]);
  98. T12:;
  99.     {object V3;
  100.     object V4= base[3];
  101.     if(endp(V4)){
  102.     base[8]= Cnil;
  103.     goto T16;}
  104.     base[9]=V3=MMcons(Cnil,Cnil);
  105. T17:;
  106.     base[10]= (V4->c.c_car);
  107.     vs_top=(vs_base=base+10)+1;
  108.     L4();
  109.     vs_top=sup;
  110.     (V3->c.c_car)= vs_base[0];
  111.     if(endp(V4=MMcdr(V4))){
  112.     base[8]= base[9];
  113.     goto T16;}
  114.     V3=MMcdr(V3)=MMcons(Cnil,Cnil);
  115.     goto T17;}
  116. T16:;
  117.     base[9]= append(base[8],VV[13]);
  118.     base[10]= listA(5,VV[1],VV[9],base[6],base[7],base[9]);
  119.     vs_top=(vs_base=base+10)+1;
  120.     return;
  121. }
  122. /*    function definition for ASK-FOR-FORM    */
  123.  
  124. static L4()
  125. {    register object *base=vs_base;
  126.     register object *sup=base+VM5;
  127.     vs_reserve(VM5);
  128.     check_arg(1);
  129.     vs_top=sup;
  130. TTL:;
  131.     base[1]= list(2,VV[4],base[0]);
  132.     base[2]= list(4,VV[15],VV[16],VV[17],base[1]);
  133.     base[3]= list(3,VV[19],base[0],VV[20]);
  134.     base[4]= list(4,VV[14],base[2],VV[18],base[3]);
  135.     vs_top=(vs_base=base+4)+1;
  136.     return;
  137. }
  138. /*    macro definition for ECASE    */
  139.  
  140. static L5()
  141. {    register object *base=vs_base;
  142.     register object *sup=base+VM6;
  143.     vs_reserve(VM6);
  144.     check_arg(2);
  145.     vs_top=sup;
  146.     {object V5=base[0]->c.c_cdr;
  147.     if(endp(V5))invalid_macro_call();
  148.     base[2]= (V5->c.c_car);
  149.     V5=V5->c.c_cdr;
  150.     base[3]= V5;
  151.     vs_base=vs_top;
  152.     Lgensym();
  153.     vs_top=sup;
  154.     base[4]= vs_base[0];}
  155.     base[5]= reverse(base[3]);
  156.     base[7]= list(2,VV[4],base[2]);
  157.     {object V6;
  158.     object V7= base[3];
  159.     if(endp(V7)){
  160.     base[8]= Cnil;
  161.     goto T23;}
  162.     base[9]=V6=MMcons(Cnil,Cnil);
  163. T24:;
  164.     if(!(type_of(car((V7->c.c_car)))==t_cons||car((V7->c.c_car))==Cnil)){
  165.     goto T27;}
  166.     {object V8;
  167.     object V9= car((V7->c.c_car));
  168.     if(endp(V9)){
  169.     (V6->c.c_cdr)= Cnil;
  170.     goto T25;}
  171.     base[11]=V8=MMcons(Cnil,Cnil);
  172. T29:;
  173.     (V8->c.c_car)= list(2,VV[4],(V9->c.c_car));
  174.     if(endp(V9=MMcdr(V9))){
  175.     (V6->c.c_cdr)= base[11];
  176.     goto T25;}
  177.     V8=MMcdr(V8)=MMcons(Cnil,Cnil);
  178.     goto T29;}
  179. T27:;
  180.     base[11]= list(2,VV[4],car((V7->c.c_car)));
  181.     (V6->c.c_cdr)= make_cons(base[11],Cnil);
  182. T25:;
  183.     while(!endp(MMcdr(V6)))V6=MMcdr(V6);
  184.     if(endp(V7=MMcdr(V7))){
  185.     base[9]=base[9]->c.c_cdr;
  186.     base[8]= base[9];
  187.     goto T23;}
  188.     goto T24;}
  189. T23:;
  190.     base[9]= listA(5,VV[23],VV[24],base[7],base[4],base[8]);
  191.     base[6]= list(3,VV[21],VV[22],base[9]);
  192. T32:;
  193.     if(!(endp(base[5]))){
  194.     goto T33;}
  195.     base[7]= list(2,base[4],base[2]);
  196.     base[8]= make_cons(base[7],Cnil);
  197.     base[9]= list(3,VV[21],base[8],base[6]);
  198.     vs_top=(vs_base=base+9)+1;
  199.     return;
  200. T33:;
  201.     if((caar(base[5]))==Cnil){
  202.     goto T37;}
  203.     if(!(type_of(caar(base[5]))==t_cons||caar(base[5])==Cnil)){
  204.     goto T43;}
  205.     base[8]= list(2,VV[4],caar(base[5]));
  206.     base[7]= list(3,VV[26],base[4],base[8]);
  207.     goto T41;
  208. T43:;
  209.     base[8]= list(2,VV[4],caar(base[5]));
  210.     base[7]= list(3,VV[27],base[4],base[8]);
  211. T41:;
  212.     base[8]= make_cons(VV[14],cdar(base[5]));
  213.     base[6]= list(4,VV[25],base[7],base[8],base[6]);
  214. T37:;
  215.     base[5]= cdr(base[5]);
  216.     goto T32;
  217. }
  218. /*    macro definition for CCASE    */
  219.  
  220. static L6()
  221. {    register object *base=vs_base;
  222.     register object *sup=base+VM7;
  223.     vs_reserve(VM7);
  224.     check_arg(2);
  225.     vs_top=sup;
  226.     {object V10=base[0]->c.c_cdr;
  227.     if(endp(V10))invalid_macro_call();
  228.     base[2]= (V10->c.c_car);
  229.     V10=V10->c.c_cdr;
  230.     base[3]= V10;
  231.     vs_base=vs_top;
  232.     Lgensym();
  233.     vs_top=sup;
  234.     base[4]= vs_base[0];}
  235.     base[5]= list(2,base[4],base[2]);
  236.     base[6]= make_cons(base[5],Cnil);
  237.     {object V11;
  238.     object V12= base[3];
  239.     if(endp(V12)){
  240.     base[7]= Cnil;
  241.     goto T49;}
  242.     base[8]=V11=MMcons(Cnil,Cnil);
  243. T50:;
  244.     if(!(type_of(car((V12->c.c_car)))==t_cons||car((V12->c.c_car))==Cnil)){
  245.     goto T54;}
  246.     base[11]= list(2,VV[4],car((V12->c.c_car)));
  247.     base[10]= list(3,VV[26],base[4],base[11]);
  248.     goto T52;
  249. T54:;
  250.     base[11]= list(2,VV[4],car((V12->c.c_car)));
  251.     base[10]= list(3,VV[27],base[4],base[11]);
  252. T52:;
  253.     base[11]= make_cons(VV[14],cdr((V12->c.c_car)));
  254.     base[12]= list(2,VV[30],base[11]);
  255.     (V11->c.c_car)= list(3,VV[29],base[10],base[12]);
  256.     if(endp(V12=MMcdr(V12))){
  257.     base[7]= base[8];
  258.     goto T49;}
  259.     V11=MMcdr(V11)=MMcons(Cnil,Cnil);
  260.     goto T50;}
  261. T49:;
  262.     base[8]= list(2,VV[4],base[2]);
  263.     {object V13;
  264.     object V14= base[3];
  265.     if(endp(V14)){
  266.     base[9]= Cnil;
  267.     goto T56;}
  268.     base[10]=V13=MMcons(Cnil,Cnil);
  269. T57:;
  270.     if(!(type_of(car((V14->c.c_car)))==t_cons||car((V14->c.c_car))==Cnil)){
  271.     goto T60;}
  272.     {object V15;
  273.     object V16= car((V14->c.c_car));
  274.     if(endp(V16)){
  275.     (V13->c.c_cdr)= Cnil;
  276.     goto T58;}
  277.     base[12]=V15=MMcons(Cnil,Cnil);
  278. T62:;
  279.     (V15->c.c_car)= list(2,VV[4],(V16->c.c_car));
  280.     if(endp(V16=MMcdr(V16))){
  281.     (V13->c.c_cdr)= base[12];
  282.     goto T58;}
  283.     V15=MMcdr(V15)=MMcons(Cnil,Cnil);
  284.     goto T62;}
  285. T60:;
  286.     base[12]= list(2,VV[4],car((V14->c.c_car)));
  287.     (V13->c.c_cdr)= make_cons(base[12],Cnil);
  288. T58:;
  289.     while(!endp(MMcdr(V13)))V13=MMcdr(V13);
  290.     if(endp(V14=MMcdr(V14))){
  291.     base[10]=base[10]->c.c_cdr;
  292.     base[9]= base[10];
  293.     goto T56;}
  294.     goto T57;}
  295. T56:;
  296.     base[10]= listA(6,VV[5],VV[32],VV[33],base[8],base[4],base[9]);
  297.     base[12]= base[2];
  298.     vs_top=(vs_base=base+12)+1;
  299.     L4();
  300.     vs_top=sup;
  301.     base[11]= vs_base[0];
  302.     base[12]= list(5,VV[21],VV[31],base[10],base[11],VV[34]);
  303.     base[13]= make_cons(base[12],Cnil);
  304.     base[14]= append(base[7],base[13]);
  305.     base[15]= listA(3,VV[21],base[6],base[14]);
  306.     base[16]= list(2,VV[28],base[15]);
  307.     vs_top=(vs_base=base+16)+1;
  308.     return;
  309. }
  310. /*    macro definition for TYPECASE    */
  311.  
  312. static L7()
  313. {    register object *base=vs_base;
  314.     register object *sup=base+VM8;
  315.     vs_reserve(VM8);
  316.     check_arg(2);
  317.     vs_top=sup;
  318.     {object V17=base[0]->c.c_cdr;
  319.     if(endp(V17))invalid_macro_call();
  320.     base[2]= (V17->c.c_car);
  321.     V17=V17->c.c_cdr;
  322.     base[3]= V17;}
  323.     base[4]= reverse(base[3]);
  324.     vs_base=vs_top;
  325.     Lgensym();
  326.     vs_top=sup;
  327.     base[6]= vs_base[0];
  328.     base[5]= Cnil;
  329. T69:;
  330.     if(!(endp(base[4]))){
  331.     goto T70;}
  332.     base[7]= list(2,base[6],base[2]);
  333.     base[8]= make_cons(base[7],Cnil);
  334.     base[9]= list(3,VV[21],base[8],base[5]);
  335.     vs_top=(vs_base=base+9)+1;
  336.     return;
  337. T70:;
  338.     if(caar(base[4])==Ct){
  339.     goto T75;}
  340.     if(!(caar(base[4])==VV[35])){
  341.     goto T76;}
  342. T75:;
  343.     base[5]= make_cons(VV[14],cdar(base[4]));
  344.     goto T74;
  345. T76:;
  346.     base[7]= list(2,VV[4],caar(base[4]));
  347.     base[8]= list(3,VV[3],base[6],base[7]);
  348.     base[9]= make_cons(VV[14],cdar(base[4]));
  349.     base[5]= list(4,VV[25],base[8],base[9],base[5]);
  350. T74:;
  351.     base[4]= cdr(base[4]);
  352.     goto T69;
  353. }
  354. /*    macro definition for ETYPECASE    */
  355.  
  356. static L8()
  357. {    register object *base=vs_base;
  358.     register object *sup=base+VM9;
  359.     vs_reserve(VM9);
  360.     check_arg(2);
  361.     vs_top=sup;
  362.     {object V18=base[0]->c.c_cdr;
  363.     if(endp(V18))invalid_macro_call();
  364.     base[2]= (V18->c.c_car);
  365.     V18=V18->c.c_cdr;
  366.     base[3]= V18;
  367.     vs_base=vs_top;
  368.     Lgensym();
  369.     vs_top=sup;
  370.     base[4]= vs_base[0];}
  371.     base[7]= list(2,VV[4],base[2]);
  372.     {object V19;
  373.     object V20= base[3];
  374.     if(endp(V20)){
  375.     base[8]= Cnil;
  376.     goto T87;}
  377.     base[9]=V19=MMcons(Cnil,Cnil);
  378. T88:;
  379.     (V19->c.c_car)= car((V20->c.c_car));
  380.     if(endp(V20=MMcdr(V20))){
  381.     base[8]= base[9];
  382.     goto T87;}
  383.     V19=MMcdr(V19)=MMcons(Cnil,Cnil);
  384.     goto T88;}
  385. T87:;
  386.     base[9]= list(2,VV[4],base[8]);
  387.     base[10]= list(4,VV[36],base[7],base[4],base[9]);
  388.     base[6]= list(2,VV[23],base[10]);
  389.     base[5]= base[3];
  390. T91:;
  391.     if(!(endp(base[5]))){
  392.     goto T92;}
  393.     base[7]= list(2,base[4],base[2]);
  394.     base[8]= make_cons(base[7],Cnil);
  395.     base[9]= list(3,VV[21],base[8],base[6]);
  396.     vs_top=(vs_base=base+9)+1;
  397.     return;
  398. T92:;
  399.     base[7]= list(2,VV[4],caar(base[5]));
  400.     base[8]= list(3,VV[3],base[4],base[7]);
  401.     base[9]= make_cons(VV[14],cdar(base[5]));
  402.     base[6]= list(4,VV[25],base[8],base[9],base[6]);
  403.     base[5]= cdr(base[5]);
  404.     goto T91;
  405. }
  406. /*    macro definition for CTYPECASE    */
  407.  
  408. static L9()
  409. {    register object *base=vs_base;
  410.     register object *sup=base+VM10;
  411.     vs_reserve(VM10);
  412.     check_arg(2);
  413.     vs_top=sup;
  414.     {object V21=base[0]->c.c_cdr;
  415.     if(endp(V21))invalid_macro_call();
  416.     base[2]= (V21->c.c_car);
  417.     V21=V21->c.c_cdr;
  418.     base[3]= V21;
  419.     vs_base=vs_top;
  420.     Lgensym();
  421.     vs_top=sup;
  422.     base[4]= vs_base[0];}
  423.     base[5]= list(2,base[4],base[2]);
  424.     base[6]= make_cons(base[5],Cnil);
  425.     {object V22;
  426.     object V23= base[3];
  427.     if(endp(V23)){
  428.     base[7]= Cnil;
  429.     goto T102;}
  430.     base[8]=V22=MMcons(Cnil,Cnil);
  431. T103:;
  432.     base[10]= list(2,VV[4],car((V23->c.c_car)));
  433.     base[11]= list(3,VV[3],base[4],base[10]);
  434.     base[12]= make_cons(VV[14],cdr((V23->c.c_car)));
  435.     base[13]= list(2,VV[30],base[12]);
  436.     (V22->c.c_car)= list(3,VV[29],base[11],base[13]);
  437.     if(endp(V23=MMcdr(V23))){
  438.     base[7]= base[8];
  439.     goto T102;}
  440.     V22=MMcdr(V22)=MMcons(Cnil,Cnil);
  441.     goto T103;}
  442. T102:;
  443.     base[8]= list(2,VV[4],base[2]);
  444.     {object V24;
  445.     object V25= base[3];
  446.     if(endp(V25)){
  447.     base[9]= Cnil;
  448.     goto T105;}
  449.     base[10]=V24=MMcons(Cnil,Cnil);
  450. T106:;
  451.     (V24->c.c_car)= car((V25->c.c_car));
  452.     if(endp(V25=MMcdr(V25))){
  453.     base[9]= base[10];
  454.     goto T105;}
  455.     V24=MMcdr(V24)=MMcons(Cnil,Cnil);
  456.     goto T106;}
  457. T105:;
  458.     base[10]= list(2,VV[4],base[9]);
  459.     base[11]= list(4,VV[36],base[8],base[4],base[10]);
  460.     base[12]= list(3,VV[5],VV[37],base[11]);
  461.     base[13]= make_cons(base[12],Cnil);
  462.     base[14]= append(base[7],base[13]);
  463.     base[15]= listA(3,VV[21],base[6],base[14]);
  464.     base[17]= base[2];
  465.     vs_top=(vs_base=base+17)+1;
  466.     L4();
  467.     vs_top=sup;
  468.     base[16]= vs_base[0];
  469.     base[17]= list(4,VV[28],base[15],base[16],VV[38]);
  470.     vs_top=(vs_base=base+17)+1;
  471.     return;
  472. }
  473. /*    function definition for TYPECASE-ERROR-STRING    */
  474.  
  475. static L10()
  476. {    register object *base=vs_base;
  477.     register object *sup=base+VM11;
  478.     vs_reserve(VM11);
  479.     check_arg(3);
  480.     vs_top=sup;
  481. TTL:;
  482.     base[3]= Cnil;
  483.     base[4]= Cnil;
  484.     base[5]= Cnil;
  485. T112:;
  486.     if(!(endp(base[2]))){
  487.     goto T113;}
  488.     goto T110;
  489. T113:;
  490.     if(!(type_of(car(base[2]))==t_symbol)){
  491.     goto T119;}
  492.     base[6]= make_cons(car(base[2]),Cnil);
  493.     base[3]= make_cons(base[6],base[3]);
  494.     base[6]= car(base[2]);
  495.     base[2]= cdr(base[2]);
  496.     goto T117;
  497. T119:;
  498.     {object V26= caar(base[2]);
  499.     if((V26!= VV[68]))goto T126;
  500.     base[2]= append(cdar(base[2]),cdr(base[2]));
  501.     goto T117;
  502. T126:;
  503.     if((V26!= VV[26]))goto T128;
  504.     {
  505.     object V27= cdar(base[2]);
  506.     if(endp(V27)){
  507.     goto T129;}
  508. T130:;
  509.     base[7]= list(2,VV[26],(V27->c.c_car));
  510.     base[3]= make_cons(base[7],base[3]);
  511.     if(endp(V27=MMcdr(V27))){
  512.     goto T129;}
  513.     goto T130;}
  514. T129:;
  515.     base[6]= car(base[2]);
  516.     base[2]= cdr(base[2]);
  517.     goto T117;
  518. T128:;
  519.     if((V26!= VV[69]))goto T136;
  520.     base[4]= make_cons(cadar(base[2]),base[4]);
  521.     base[6]= car(base[2]);
  522.     base[2]= cdr(base[2]);
  523.     goto T117;
  524. T136:;
  525.     base[3]= make_cons(car(base[2]),base[3]);
  526.     base[6]= car(base[2]);
  527.     base[2]= cdr(base[2]);}
  528. T117:;
  529.     goto T112;
  530. T110:;
  531. T151:;
  532.     if(!(endp(base[4]))){
  533.     goto T152;}
  534.     goto T149;
  535. T152:;
  536.     if(!(type_of(car(base[4]))==t_symbol)){
  537.     goto T158;}
  538.     base[6]= make_cons(car(base[4]),Cnil);
  539.     base[5]= make_cons(base[6],base[5]);
  540.     base[6]= car(base[4]);
  541.     base[4]= cdr(base[4]);
  542.     goto T156;
  543. T158:;
  544.     if(!(caar(base[4])==VV[39])){
  545.     goto T166;}
  546.     base[4]= append(cdar(base[4]),cdr(base[4]));
  547.     goto T156;
  548. T166:;
  549.     base[5]= make_cons(car(base[4]),base[5]);
  550.     base[6]= car(base[4]);
  551.     base[4]= cdr(base[4]);
  552. T156:;
  553.     goto T151;
  554. T149:;
  555.     base[6]= Cnil;
  556.     base[7]= VV[40];
  557.     base[8]= base[0];
  558.     base[9]= base[1];
  559.     base[10]= VV[41];
  560.     {object V28;
  561.     object V29= base[5];
  562.     if(endp(V29)){
  563.     base[11]= Cnil;
  564.     goto T181;}
  565.     base[12]=V28=MMcons(Cnil,Cnil);
  566. T182:;
  567.     base[13]= (V29->c.c_car);
  568.     vs_top=(vs_base=base+13)+1;
  569.     L11();
  570.     vs_top=sup;
  571.     (V28->c.c_cdr)= vs_base[0];
  572.     while(!endp(MMcdr(V28)))V28=MMcdr(V28);
  573.     if(endp(V29=MMcdr(V29))){
  574.     base[12]=base[12]->c.c_cdr;
  575.     base[11]= base[12];
  576.     goto T181;}
  577.     goto T182;}
  578. T181:;
  579.     base[12]= VV[42];
  580.     base[14]= make_fixnum(length(base[3]));
  581.     base[17]= reverse(base[3]);
  582.     {object V30;
  583.     object V31= base[17];
  584.     if(endp(V31)){
  585.     base[15]= Cnil;
  586.     goto T187;}
  587.     base[16]=V30=MMcons(Cnil,Cnil);
  588. T188:;
  589.     base[18]= (V31->c.c_car);
  590.     vs_top=(vs_base=base+18)+1;
  591.     L11();
  592.     vs_top=sup;
  593.     (V30->c.c_cdr)= vs_base[0];
  594.     while(!endp(MMcdr(V30)))V30=MMcdr(V30);
  595.     if(endp(V31=MMcdr(V31))){
  596.     base[16]=base[16]->c.c_cdr;
  597.     base[15]= base[16];
  598.     goto T187;}
  599.     goto T188;}
  600. T187:;
  601.     base[16]= make_cons(base[14],base[15]);
  602.     base[13]= make_cons(base[5],base[16]);
  603.     vs_top=(vs_base=base+6)+8;
  604.     Lformat();
  605.     return;
  606. }
  607. /*    function definition for TYPECASE-ERROR-STRINGS    */
  608.  
  609. static L11()
  610. {    register object *base=vs_base;
  611.     register object *sup=base+VM12;
  612.     vs_reserve(VM12);
  613.     check_arg(1);
  614.     vs_top=sup;
  615. TTL:;
  616.     if(!(car(base[0])==VV[26])){
  617.     goto T192;}
  618.     base[1]= make_fixnum(length(cdr(base[0])));
  619.     {object V32= base[1];
  620.     if(!eql(V32,VV[43]))goto T194;
  621.     base[2]= VV[44];
  622.     vs_top=(vs_base=base+2)+1;
  623.     return;
  624. T194:;
  625.     if(!eql(V32,VV[45]))goto T195;
  626.     base[2]= make_cons(cadr(base[0]),Cnil);
  627.     base[3]= list(2,VV[46],base[2]);
  628.     vs_top=(vs_base=base+3)+1;
  629.     return;
  630. T195:;
  631.     if(!eql(V32,VV[47]))goto T196;
  632.     base[2]= list(2,VV[48],cdr(base[0]));
  633.     vs_top=(vs_base=base+2)+1;
  634.     return;
  635. T196:;
  636.     base[2]= make_cons(cdr(base[0]),Cnil);
  637.     base[3]= list(2,VV[49],base[2]);
  638.     vs_top=(vs_base=base+3)+1;
  639.     return;}
  640. T192:;
  641.     if(!(car(base[0])==VV[50])){
  642.     goto T198;}
  643.     base[2]= list(2,VV[51],cdr(base[0]));
  644.     vs_top=(vs_base=base+2)+1;
  645.     return;
  646. T198:;
  647.     if(endp(cdr(base[0]))){
  648.     goto T200;}
  649.     base[2]= VV[52];
  650.     base[3]= cdr(base[0]);
  651.     if((simple_symlispcall_no_event(VV[70],base+2,2))!=Cnil){
  652.     goto T201;}
  653. T200:;
  654.     {object x= car(base[0]),V33= VV[53];
  655.     while(!endp(V33))
  656.     if(eql(x,car(V33->c.c_car))){
  657.     base[2]= (V33->c.c_car);
  658.     goto T207;
  659.     }else V33=V33->c.c_cdr;
  660.     base[2]= Cnil;}
  661. T207:;
  662.     if((base[2])==Cnil){
  663.     goto T209;}
  664.     base[3]= list(2,cadr(base[2]),Cnil);
  665.     vs_top=(vs_base=base+3)+1;
  666.     return;
  667. T209:;
  668.     base[4]= car(base[0]);
  669.     vs_top=(vs_base=base+4)+1;
  670.     L12();
  671.     vs_top=sup;
  672.     base[3]= vs_base[0];
  673.     base[4]= list(2,base[3],car(base[0]));
  674.     base[5]= list(2,VV[54],base[4]);
  675.     vs_top=(vs_base=base+5)+1;
  676.     return;
  677. T201:;
  678.     base[3]= car(base[0]);
  679.     vs_top=(vs_base=base+3)+1;
  680.     L12();
  681.     vs_top=sup;
  682.     base[2]= vs_base[0];
  683.     base[3]= list(2,base[2],base[0]);
  684.     base[4]= list(2,VV[55],base[3]);
  685.     vs_top=(vs_base=base+4)+1;
  686.     return;
  687. }
  688. /*    function definition for BOIN-P    */
  689.  
  690. static L12()
  691. {    register object *base=vs_base;
  692.     register object *sup=base+VM13;
  693.     vs_reserve(VM13);
  694.     check_arg(1);
  695.     vs_top=sup;
  696. TTL:;
  697.     base[2]= base[0];
  698.     vs_top=(vs_base=base+2)+1;
  699.     Lsymbol_name();
  700.     vs_top=sup;
  701.     base[1]= vs_base[0];
  702.     base[2]= elt(base[1],0);
  703.     {object x= base[2],V34= VV[56];
  704.     while(!endp(V34))
  705.     if(eql(x,V34->c.c_car)){
  706.     base[3]= V34;
  707.     vs_top=(vs_base=base+3)+1;
  708.     return;
  709.     }else V34=V34->c.c_cdr;
  710.     base[3]= Cnil;
  711.     vs_top=(vs_base=base+3)+1;
  712.     return;}
  713. }
  714.